import { Injectable } from '@nestjs/common';
import * as Sequlize from 'sequelize';
import sequelize from '../../database/sequelize';

@Injectable()
export class UserService {
    async findOne(username: string): Promise<any | undefined> {
        const sql = `
            SELECT
                user_id id, real_name realName, role
            FROM
                admin_user
            WHERE
                account_name = '${username}'
        `;
        try {
            const res = await sequelize.query(sql, {
                type: Sequlize.QueryTypes.SELECT, // 查询方式
                raw: true, // 是否使用数组组装的方式展示结果
                logging: true, // 是否将 SQL 语句答应到控制台，默认为 true
            });
            const user = res[0]; // 查出来的结果是一个数组，我们支取第一个。
            if (user) {
                return {
                    code: 200, // 返回状态码，可自定义
                    data: user,
                    msg: 'success',
                }
            } else {
                return {
                    code: 600,
                    msg: '查无此人',
                }
            }
       } catch (error) {
            return {
                code: 503,
                msg: `Service error: ${error}`
            }
        }
    }
}
